1、最小的k个数
思想：topk问题，如果求的是最大的k个数，则建小堆，比堆顶大的和堆顶互换，如果求的是最小的k个数，那么建大堆，比堆顶小的，和堆顶互换。
class Solution {
public:
    vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
        vector<int> v;
        if(k>input.size())
            return v;
        priority_queue<int,vector<int>,greater<int>> pq;
        for(int i=0;i<input.size();i++)
        {
            pq.push(input[i]);
        }
        for(int i=0;i<k;i++)
        {
            v.push_back(pq.top());
            pq.pop();
        }
        return v;
    }
};